[Tips] SOQLで子レコードを持たない親レコードだけ抽出する

[Tips] SOQLで子レコードを持たない親レコードだけ抽出する

Clock Icon2023.01.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

SalesforceのSOQLにて、子レコード持たない親レコードをSELECTするには次のような方法が使えます。

SELECT
    Id
FROM
    Parent__c
WHERE
    Id Not IN (
        SELECT
            Parent__c
        FROM
            Child__c
    )

親がParent__c、子がChild__cになります。

より具体的に、例えば取引先責任者を持たない取引先をSELECTする場合は次のSOQLで行えます。

SELECT
    Id
FROM
    Account
WHERE
    Id Not IN (
        SELECT
            AccountId
        FROM
            Contact
    )

簡単ですね。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.